idle
Type
message
Summary
Sent periodically to the current card if no other message is being sent.
Syntax
idle
Description
Handle the idle message to check constantly on the status of an object, the content of a variable, and so forth, or to do periodic tasks.
The period between idle messages is specified by the idleRate and idleTicks properties.
Usually, it is easier and more efficient to use the send in time form of the send command than to use an idle handler, especially if a task needs to be executed at regular intervals. This example shows an idle handler that updates a clock timer:
on idle -- avoid if possible
global startTime
if the seconds > startTime + 60 then -- 60 seconds have gone by
put the time into field \"Clock Face\"
put the seconds into startTime
end if
pass idle
end idle
The following example does the same thing more efficiently, since it only needs to handle a single message every sixty seconds:
on updateClock -- a better way
put the time into field \"Clock Face\"
send \"updateClock\" to me in 60 seconds
end updateClock
Executing an idle handler slows down other LiveCode actions, so handle the idle message only in the rare cases where the send command cannot be used instead.
If there is no idle handler anywhere in the message path, no idle message is sent.
Related
property: idleRate, idleTicks, properties
glossary: object, current card, variable, handler, handle, execute, message, message path, command
Compatibility and Support
Introduced
LiveCode 1.0
OS
mac
windows
linux
ios
android
Platforms
desktop
server
mobile